// Nick Nissen, Mads Jakobsen og Jesper Larsen
package hc.andersen.paraden;

import android.R;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
import org.json.JSONArray;
import org.json.JSONObject;

import java.util.HashMap;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * User: Mads
 * Date: 24-05-12
 * Time: 15:36
 * To change this template use File | Settings | File Templates.
 */
public class SogSpiller extends ListActivity {

    HashMap<Integer, Profil> map;

    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);


        if(DataHelper.getDialog() != null && DataHelper.getDialog().isShowing())
            DataHelper.getDialog().dismiss();

        Bundle bundle = this.getIntent().getExtras();
        String sogeinfo = bundle.getString("sogeinfo");

        setContentView(hc.andersen.paraden.R.layout.sogspiller);

        //String[] values = new String[];

        Button sogeKnap = (Button)findViewById(hc.andersen.paraden.R.id.sogeknap);
        sogeKnap.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SogSpiller(view);
            }
        });

    }


    public void SogSpiller(View view){
        try{
            DataHelper.setDialog(ProgressDialog.show(this, "",
                    "Loading. Please wait...", true));

            EditText sogefelt = (EditText)findViewById(hc.andersen.paraden.R.id.sogefelt);
            String sg = sogefelt.getText().toString();
            sogspiller(sg);

            if(DataHelper.getDialog() != null && DataHelper.getDialog().isShowing())
                DataHelper.getDialog().dismiss();
        }
        catch(Exception e)
        {
            Toast fejlbesked = Toast.makeText(this, "Der kunne ikke findes nogle spillere.", Toast.LENGTH_SHORT);
            fejlbesked.show();
        }
    }

    public void Hovedmenu(View view){
        try{

            //EditText sogefelt = (EditText)findViewById(hc.andersen.paraden.R.id.sogefelt);
            //String sg = sogefelt.getText().toString();
            //Bundle bundle = new Bundle();
            //bundle.putString("sogeinfo",sg);
            Intent menusiden = new Intent(this,MenuActivity.class);

            //sogspillersiden.putExtras(bundle);
            this.startActivity(menusiden);
        }
        catch(Exception e)
        {
            Toast fejlbesked = Toast.makeText(this, "Siden kan ikke åbnes i øjeblikket", Toast.LENGTH_SHORT);
            fejlbesked.show();
        }
    }


    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        String item = (String) getListAdapter().getItem(position);
        try{

            DataHelper.setDialog(ProgressDialog.show(this, "",
                    "Loading. Please wait...", true));

            final int N = map.size(); // total number of textviews to add

            //skal med tiden indeholde vores sogedata
            //String[] values = new String[N];
            int sogid = 0;
            for (int i = 0; i < N; i++) {

                if (item == map.get(i).getNavn())
                {
                    sogid =  map.get(i).getSpillerid();
                }

            }
            //EditText sogefelt = (EditText)findViewById(hc.andersen.paraden.R.id.sogefelt);
            //String sg = sogefelt.getText().toString();
            Bundle bundle = new Bundle();
            String soegeid = Integer.toString(sogid);
            bundle.putString("id",soegeid);
            Intent profilsiden = new Intent(this,ProfileActivity.class);
            profilsiden.putExtras(bundle);
            this.startActivity(profilsiden);
        }
        catch(Exception e)
        {
            Toast fejlbesked = Toast.makeText(this, "Siden kan ikke åbnes i øjeblikket", Toast.LENGTH_SHORT);
            fejlbesked.show();
        }
    }
         /*
    public void HentProfil(String kliknavn){
        try{
            final int N = rolleHashMap.size(); // total number of textviews to add

            //skal med tiden indeholde vores sogedata
            //String[] values = new String[N];
            int sogid;
            for (int i = 0; i < N; i++) {

                if (kliknavn == rolleHashMap.get(i).getNavn())
                {
                    sogid =  rolleHashMap.get(i).getSpillerid();
                }

            }
            //EditText sogefelt = (EditText)findViewById(hc.andersen.paraden.R.id.sogefelt);
            //String sg = sogefelt.getText().toString();
            Bundle bundle = new Bundle();
            bundle.putInt("sogeid",sogid);
            Intent profilsiden = new Intent(this,ProfileActivity.class);
            profilsiden.putExtras(bundle);
            this.startActivity(profilsiden);
        }
        catch(Exception e)
        {
            Toast fejlbesked = Toast.makeText(this, "Siden kan ikke åbnes i øjeblikket", Toast.LENGTH_SHORT);
            fejlbesked.show();
        }
    }
            */

    public void sogspiller(String sogeord){



        Map<String,String> userData = DataHelper.HentBrugerData(this.getBaseContext());

        String id = userData.get("id");

        try{



            JSONObject json = DataHelper.getHttpGetRequest("http://epanum.dk/Teater/ProfilService.svc/NavneListe/"+sogeord+"/"+id);

            // grabbing the profil objektet
            JSONArray profil = json.getJSONArray("SogProfilResult");

            //HashMap<Integer, Profil>

            map = new HashMap<Integer, Profil>();

            for(int i=0;i<profil.length();i++){
                JSONObject Profil = profil.getJSONObject(i);

                Integer spillerID = Profil.getInt("ProfilId");
                String spillernavn = Profil.getString("Navn");

                Profil profilObj = new Profil(spillerID,spillernavn);

                map.put(i,profilObj);



            }


            final int N = map.size(); // total number of textviews to add

            //skal med tiden indeholde vores sogedata
            String[] values = new String[N];

            for (int i = 0; i < N; i++) {

                values[i]= map.get(i).getNavn();

            }

            setListAdapter(new ArrayAdapter<String>(this, R.layout.simple_list_item_1, values));
              /*
            ListView sogeresult = (ListView)findViewById(R.id.list);

            sogeresult.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View view) {

                    HentProfil(item);
                }

            });
               */



        } catch (Exception e){
            Toast.makeText(this, "Fejl, kunne ikke indlæse data"+e.getMessage(),Toast.LENGTH_LONG);
        }
    }


}


class Profil{

    private Integer spillerid;
    private String navn;


    Profil(Integer rolleId, String navn) {
        this.spillerid = rolleId;
        this.navn = navn;

    }

    public Integer getSpillerid() {
        return spillerid;
    }

    public void setSpillerid(Integer spillerid) {
        this.spillerid = spillerid;
    }

    public String getNavn() {
        return navn;
    }

    public void setNavn(String navn) {
        this.navn = navn;
    }




}